<!--
 * @Author: humengchuan 531537052@qq.com
 * @Date: 2024-05-06 16:35:17
 * @LastEditors: humengchuan 531537052@qq.com
 * @LastEditTime: 2024-06-27 15:59:57
 * @FilePath: \project\node-project\website-admin\src\views\admin\home.vue
 * @Description: 
-->
<template>
    <div class="common-layout">
        <el-container>
            <el-header>
                <el-row :gutter="20">
                    <el-col :span="4">
                        <div class="grid-content ep-bg-purple">
                            管理系统
                        </div>
                    </el-col>
                    <el-col :span="20">
                        <el-header style="text-align: right; font-size: 12px">
                            <div class="toolbar">
                                <el-dropdown>
                                    <el-icon style="margin-right: 8px; margin-top: 1px">
                                        <setting />
                                    </el-icon>
                                    <template #dropdown>
                                        <el-dropdown-menu>
                                            <el-dropdown-item>View</el-dropdown-item>
                                            <el-dropdown-item>Add</el-dropdown-item>
                                            <el-dropdown-item @click="handeLoginOut()">login out</el-dropdown-item>
                                        </el-dropdown-menu>
                                    </template>
                                </el-dropdown>
                                <span>Tom</span>
                            </div>
                        </el-header>
                    </el-col>
                </el-row>
            </el-header>
            <el-container class="layout-container-demo" style="height: 500px">
                <el-aside width="200px">
                    <el-scrollbar>
                        <el-menu :default-openeds="['1', '3']">
                            <el-sub-menu index="1">
                                <template #title>
                                    <el-icon>
                                        <message />
                                    </el-icon>Navigator One
                                </template>
                                <el-menu-item-group>
                                    <template #title>Group 1</template>
                                    <el-menu-item index="1-1">Option 1</el-menu-item>
                                    <el-menu-item index="1-2">Option 2</el-menu-item>
                                </el-menu-item-group>
                                <el-menu-item-group title="Group 2">
                                    <el-menu-item index="1-3">Option 3</el-menu-item>
                                </el-menu-item-group>
                                <el-sub-menu index="1-4">
                                    <template #title>Option4</template>
                                    <el-menu-item index="1-4-1">Option 4-1</el-menu-item>
                                </el-sub-menu>
                            </el-sub-menu>
                            <el-sub-menu index="2">
                                <template #title>
                                    <el-icon><icon-menu /></el-icon>Navigator Two
                                </template>
                                <el-menu-item-group>
                                    <template #title>Group 1</template>
                                    <el-menu-item index="2-1">Option 1</el-menu-item>
                                    <el-menu-item index="2-2">Option 2</el-menu-item>
                                </el-menu-item-group>
                                <el-menu-item-group title="Group 2">
                                    <el-menu-item index="2-3">Option 3</el-menu-item>
                                </el-menu-item-group>
                                <el-sub-menu index="2-4">
                                    <template #title>Option 4</template>
                                    <el-menu-item index="2-4-1">Option 4-1</el-menu-item>
                                </el-sub-menu>
                            </el-sub-menu>
                            <el-sub-menu index="3">
                                <template #title>
                                    <el-icon>
                                        <setting />
                                    </el-icon>Navigator Three
                                </template>
                                <el-menu-item-group>
                                    <template #title>Group 1</template>
                                    <el-menu-item index="3-1">Option 1</el-menu-item>
                                    <el-menu-item index="3-2">Option 2</el-menu-item>
                                </el-menu-item-group>
                                <el-menu-item-group title="Group 2">
                                    <el-menu-item index="3-3">Option 3</el-menu-item>
                                </el-menu-item-group>
                                <el-sub-menu index="3-4">
                                    <template #title>Option 4</template>
                                    <el-menu-item index="3-4-1">Option 4-1</el-menu-item>
                                </el-sub-menu>
                            </el-sub-menu>
                        </el-menu>
                    </el-scrollbar>
                </el-aside>

                <el-container class="layout-container-content">
                    <el-main>
                        <el-scrollbar>
                            <el-table :data="tableData" height="calc(100vh - 70px)">
                                <el-table-column prop="date" label="Date" width="140" />
                                <el-table-column prop="name" label="Name" width="120" />
                                <el-table-column prop="address" label="Address" />
                            </el-table>
                        </el-scrollbar>
                    </el-main>
                </el-container>
            </el-container>
        </el-container>
    </div>
</template>

<script lang="ts" setup>
import { getUserList } from '@/api'
import { ref, onMounted } from 'vue'
import { useRouter } from 'vue-router';
import { Menu as IconMenu, Message, Setting } from '@element-plus/icons-vue'

const router = useRouter()

const item = {
    date: '2016-05-02',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
}
const tableData = ref(Array.from({ length: 20 }).fill(item))

const handeLoginOut = () => {
    console.log('login out')
    router.replace({
        path: '/login',
    })
}

onMounted( async() => {
    let list = await getUserList({}) as any
    console.log('%c [ list ]-143', 'font-size:13px; background:pink; color:#bf2c9f;', list)
})
</script>

<style lang="scss" scoped>
.common-layout {
    width: 100%;
    height: 100vh;
    display: flex;
}

.el-header {
    background-color: #bbc6ce;
}

.layout-container-demo .el-header {
    position: relative;
    background-color: var(--el-color-primary-light-7);
    color: var(--el-text-color-primary);
}

.layout-container-demo .el-aside {
    color: var(--el-text-color-primary);
    background: var(--el-color-primary-light-8);
}

.layout-container-demo .el-menu {
    border-right: none;
}

.layout-container-demo .el-main {
    padding: 0;
}

.layout-container-demo .toolbar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    right: 20px;
}

.layout-container-content {
    background-color: #f5f5f5;
    padding: 0px 6px;
}
</style>